package 比赛.chuanZhiChuSai;

import java.util.Scanner;
import java.util.Vector;

public class B {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int lena = sc.nextInt();
        int lenb = sc.nextInt();
        Vector<Integer> a = new Vector<>();
        Vector<Integer> b = new Vector<>();
        for (int i = 0; i < lena; i++) {
            int c = sc.nextInt();
            a.add(c);
        }
        for (int i = 0; i < lenb; i++) {
            int c = sc.nextInt();
            b.add(c);
        }

        //System.out.println(a);
       // System.out.println(b);
        Vector<Integer> ans = new Vector<>();
        int i, j;
        int temp = 2;
        int flag = lena >= lenb ? 1 : 0;
        for (i = lena - 1, j = lenb - 1; i >= 0 && j >= 0; i--, j--, temp++) {
            int sum = a.get(i) + b.get(j);
            if (sum < temp) {
                ans.add(sum);
            } else {
                int jin = 1 + (sum - temp) / temp;
                if (flag == 1)
                    a.set(i - 1, a.get(i - 1) + jin);
                else b.set(i - 1, b.get(j - 1) + jin);
                ans.add(sum - jin * temp);
            }
        }
        int end = 0;
        if (flag == 1) {
            for (int t = i; t >= 0; t--, temp++) {
                if (a.get(t) < temp)
                    ans.add(a.get(t));
                else {
                    int jin = 1 + (a.get(t) - temp) / temp;
                    if(t-1<0){
                        end=jin;
                        ans.add(a.get(t) - jin * temp);
                        break;
                    }
                    a.set(t - 1, a.get(t - 1) + jin);
                    ans.add(a.get(t) - jin * temp);
                }
            }
        } else {
            for (int t = j; t >= 0; t--, temp++) {
                if (b.get(t) < temp)
                    ans.add(b.get(t));
                else {
                    int jin = 1 + (b.get(t) - temp) / temp;
                    if(t-1<0){
                        end=jin;
                        ans.add(b.get(t) - jin * temp);
                        break;
                    }
                    b.set(t - 1, b.get(t - 1) + jin);
                    ans.add(b.get(t) - jin * temp);
                }
            }

        }
        if(end != 0){
            ans.add(end);
        }
        for (int t = ans.size() - 1; t >= 0; t--) {
            if(t!=0)
            System.out.print(ans.get(t) + " ");
            else
                System.out.println(ans.get(t));
        }

    }
}
